#ifndef __TELEPHONEBOOK_H_
#define __TELEPHONEBOOK_H_
#include "TelephoneInfo.h"

#define ElementType void* 

struct TelephoneBook;
typedef struct TelephoneBook Telebook;


Telebook *InitTelebook();
void  insert_Telebook(Telebook *t,int flag);
ElementType RemoveByIndex(Telebook *t, int index);
ElementType delete_Telebook(Telebook *t, bool (*compare)(ElementType, ElementType));
ElementType BinarySearch(Telebook *t,ElementType value,int(*compare)(ElementType, ElementType));
void insert_sort(Telebook *t,bool (*compare)(elementType,elementType));
void modify_Telebook(Telebook *t, bool (*compare)(ElementType, ElementType));
void display_Telebook(Telebook *t, void (*print)(ElementType));
void display_Telebook2(Telebook *t, void (*print)(ElementType));
void Clear_Telebook(Telebook *t, void (*clear)(ElementType));
void Save_Telbook(Telebook *t,void(*save)(ElementType,FILE*));

#endif